package gob.pe.mtc.licencias.service;

import gob.pe.mtc.licencias.DAO.LicenciaDAO;
import gob.pe.mtc.licencias.beans.Cliente;
import gob.pe.mtc.licencias.beans.Clientelicencia;
import gob.pe.mtc.licencias.beans.Licencia;
import gob.pe.mtc.licencias.beansTO.LicenciaClienteTO;

import java.util.ArrayList;
import java.util.List;

public class LicenciaServiceImpl implements LicenciaService {

	private LicenciaDAO licenciaDAO;
	public void setLicenciaDAO(LicenciaDAO licenciaDAO) {
		this.licenciaDAO = licenciaDAO;
	}
	
	@Override
	public List<Cliente> listaClietnes() {
		return licenciaDAO.listaClientes();
	}
	@Override
	public List<Clientelicencia> listaLicencias(int cliente) {
		return licenciaDAO.listaLicencias(cliente);
	}

	@Override
	public void registrarLicencia(Licencia licen) {
		licenciaDAO.registratLicencia(licen);
	}

	@Override
	public List<LicenciaClienteTO> listaLicenciasCombo(int cliente) {
		List<Clientelicencia> lista = listaLicencias(cliente);
		List<LicenciaClienteTO> lreturn = new ArrayList<LicenciaClienteTO>();
		for(Clientelicencia lic : lista){
			lreturn.add(new LicenciaClienteTO(   Integer.parseInt(lic.getId().getCodLicencia()+"") , lic.getLicencia().getTipoLicencia().getDescripcion() +  " No Licencia " + lic.getLicencia().getNumero() ));
		}
		return lreturn;
	}

	@Override
	public Licencia obtenerLicencia(Integer codigo) {
		return licenciaDAO.obtenerLicencia(codigo);
	}

	@Override
	public Clientelicencia obtenerLicencia(Integer cliente, Integer licencia) {
		Clientelicencia clTT = licenciaDAO.obtenerLicencia(cliente,licencia);
		clTT.completaDatos();
		return clTT; 
	}

	@Override
	public void modificarLicencia(Clientelicencia cedit) {
		licenciaDAO.modificarLicencia(cedit);
	}


}
